The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
Many datacenters undergo two major types of transformations over time. First, a typical datacenter experiences significant growth with an ever increasing number of software deployments. Second, the software architecture within the datacenter is typically improved or updated with advancements in technology or changes to the underlying deployment models. These transformations frequently lead to software deployments that are siloed, dispersed, varied and complex. Some enterprise deployments have hundreds and thousands of software deployments across multiple versions and various software patch levels. The ever-increasing and divergent nature of software deployments within a datacenter may lead to significant challenges in updating and maintaining system resources.
One approach for updating software resources within a datacenter is to manage and apply patches individually on a per target software deployment basis. According to this approach, patches are applied separately at each respective target host. When applying newly available patches, the target software deployment is typically stopped to modify the underlying binary executable. Once the patches have been applied, the software deployment is restarted with the new updates. This approach provides for piecemeal updates within the datacenter. However, it may cause significant downtime for the target software deployments while the patches are being applied. Furthermore, this approach may cause difficulties in determining which targets should be updated and in standardizing updates across multiple targets, especially when the targets exist in a large and varied environment.